// import {
//   defineConfig,
//   loadEnv
// } from 'vite';

// const {
//   resolve
// } = require('path');
// import createVitePlugins from './vite/plugins';
// // https://vitejs.dev/config/
// export default ({
//   mode,
//   command
// }) => {
//   const env = loadEnv(mode, process.cwd());
//   const {
//     VITE_APP_BASE
//   } = env;
//   return defineConfig({
//     base: VITE_APP_BASE,
//     define: {
//       __VUE_I18N_FULL_INSTALL__: true,
//       __VUE_I18N_LEGACY_API__: true,
//       __INTLIFY_PROD_DEVTOOLS__: false
//     },
//     server: {
//       port: 2888,
//       proxy: {
//         '/api': {
//           target: 'http://localhost:82',
//           //target: 'https://saber3.bladex.cn/api',
//           changeOrigin: true,
//           rewrite: path => path.replace(/^\/api/, ''),
//         },
//       },
//     },
//     resolve: {
//       alias: {
//         '~': resolve(__dirname, './'),
//         '@': resolve(__dirname, './src'),
//         components: resolve(__dirname, './src/components'),
//         styles: resolve(__dirname, './src/styles'),
//         utils: resolve(__dirname, './src/utils'),
//       },
//     },
//     plugins: createVitePlugins(env, command === 'build'),
//     build: {
//       target: 'esnext',
//     },
//     optimizeDeps: {
//       esbuildOptions: {
//         target: 'esnext',
//       },
//     },
//   });
// };


import { defineConfig, loadEnv } from 'vite';
const { resolve } = require('path');
import createVitePlugins from './vite/plugins'; 
import { visualizer } from 'rollup-plugin-visualizer';  
// https://vitejs.dev/config/
export default ({ mode, command }) => {
    const env = loadEnv(mode, process.cwd());
    const { VITE_APP_BASE } = env;
    return defineConfig({
        base: VITE_APP_BASE,
        build: {          
            rollupOptions: {
                input: {                    
                    index: resolve(__dirname, './index.html'),              
                }, output:{
                    chunkFileNames: 'static/js/[name]-[hash].js',
                    entryFileNames: "static/js/[name]-[hash].js",
                    assetFileNames: "static/[ext]/name-[hash].[ext]",                  
                },  
            },
        },
        server: {
            host: '0.0.0.0',
            port: Number(env.VITE_APP_PORT),
            open: true, // 运行自动打开浏览器
            proxy: {
                '/api': {
                    target: 'http://127.0.0.1:82',
                    //  target: 'http://xrsk-gptserver:80',
                    //   target: 'http://vipnote.com.cn:9880', 
                    //   target: 'http://43.137.49.216:9880',
                    //   target: 'https://www.xrskfw.com/api', 
                    changeOrigin: true,
                    rewrite: path => path.replace(/^\/api/, ''),
                },
            },
        }, 
        resolve: {
            alias: {
                '~': resolve(__dirname, './'),
                '@': resolve(__dirname, './src'),
                "@main": resolve(__dirname, "./src/pages/main"),
                '@company': resolve(__dirname, './src/pages/company'),                
                components: resolve(__dirname, './src/components'),
                styles: resolve(__dirname, './src/styles'),
                utils: resolve(__dirname, './src/utils'),
            },
        },
         
        plugins: [createVitePlugins(env, command === 'build'),
        // prismjsPlugin({
        //     languages: 'all', // 语言
        //     plugins: ['line-numbers', 'show-language', 'copy-to-clipboard', 'inline-color'],
        //     theme: 'okaidia',// 主题
        //     css: true,
        // }),
        visualizer({
            emitFile: false,
            filename: 'analysis-chart.html', // 分析图生成的文件名
            open: true // 如果存在本地服务端口，将在打包后自动展示
        }), 
        
        ],
        optimizeDeps: {
            exclude: ['some-library']
        }
    });
};
